"""
给定一个大小为 n 的数组，找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的，并且给定的数组总是存在众数。

输入: [3,2,3]
输出: 3

同时去掉两个不同的数
"""


class Solution(object):
    def majorityElement(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        stack = []
        stack[:] = nums
        if len(nums) == 1: return nums[0]
        i = 1
        while len(nums) > i:
            if nums[i] != nums[i - 1]:
                nums.pop(i - 1)
                nums.pop(i - 1)
                if i > 1:
                    i -= 1
            else:
                i += 1
        return nums[0] if stack.count(nums[0]) > len(stack) / 2 else 0